Dual-Mode Device for Voice Communication

ABSTRACT

In one or more implementations, a request is received at a client device to initiate a communication session with a selected contact using a communication service. One of a first communication network or a second communication network for the communication session with the selected contact is selected at the client device. The selection is based on the selected contact and user preferences. Next, the communication session is established with the selected contact using the selected first communication network or second communication network.

RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.14/141,696, filed Dec. 27, 2013 which is a continuation of U.S.application Ser. No. 13/275,132, filed Oct. 17, 2011 which is acontinuation of U.S. application Ser. No. 12/949,348, filed Nov. 18,2010 which is a continuation of U.S. application Ser. No. 11/515,402filed Aug. 31, 2006. The entire teachings of the above applications areincorporated herein by reference.

BACKGROUND

Peer-to-peer (“P2P”) communication systems allow the user of a personalcomputer (“PC”), to engage in voice communication (calls) across acomputer network such as the Internet. These systems are beneficial tothe user as they are often of significantly lower cost than traditionaltelephony networks, such as fixed line or mobile cellular networks. Thismay particularly be the case for long distance calls. These systemsutilize voice over internet protocol (“VoIP”) over an existing network(e.g. the Internet) to provide these services, although alternativeprotocols can also be used. To use a peer-to-peer call service, the usermust install and execute client software on their PC. The clientsoftware provides the VoIP connections as well as other functions suchas registration and authentication, A call may be made using VoIP inaccordance with methods known in the art, such as disclosed in WO2005/009019.

Some calls in a peer-to-peer communication service may be free to theuser, such as calls to other users of the same peer-to-peer service.There are therefore significant advantages to the user of the P2Pcommunication service compared to traditional fixed or mobile services.However, the user is constrained by the fact that, in order to make orreceive calls using a P2P communication service, they must have accessto a PC. Even if the user does have access to a PC, the user must firstswitch on the PC before making a call, and consequently wait for it toboot up before the call can be made. Additionally, if the user wishes toreceive incoming calls, they must leave the PC switched on, as otherwisecalls cannot be received. This has the disadvantage of being inefficientfrom an energy consumption perspective.

Users may also be accustomed to mobility whilst using conventionaltelephony services, due to the prevalence of cordless phones and mobilecellular networks. With P2P communication services, however, the user'slocation is restricted to the area directly around the PC running theP2P client software.

Furthermore, P2P communication services cannot currently be used to callemergency numbers (for example 911 in the US, 999 in the UK and 112 inthe EU). As a result of this, P2P communication services cannot be usedas a replacement for conventional telephony services, as the user mustbe able to contact emergency services.

SUMMARY

In one or more implementations, a request is received at a client deviceto initiate a communication session with a selected contact using acommunication service. One of a first communication network or a secondcommunication network for the communication session with the selectedcontact is selected at the client device. The selection is based on theselected contact and user preferences. Next, the communication sessionis established with the selected contact using the selected firstcommunication network or second communication network.

In one or more implementations, a user interface is rendered, at acomputing device, for selecting contacts to initiate communicationsessions using a communication service. A selection of a contact isreceived via the user interface. Next, a communication session isestablished with the selected contact over one of a first communicationnetwork or a second communication network. The first or secondcommunication network is selected based on the selected contact and userpreferences.

In one or more implementations, a contact list for users of acommunication service is maintained at one or more server devices. Eachcontact list includes identifiers of contacts and contact informationfor each respective contact. The contact list maps one or more contactsto both a first communication network and a second communication networkover which communication sessions can be established via thecommunication service. A request is received, from a client deviceassociated with a user of the communication service, for the respectivecontact list of the user. Next, the respective contact list of the useris communicated to the client device associated with the user. Theclient device is configured to automatically select one of the firstcommunication network or the second communication network for acommunication session with a selected contact based on the selectedcontact and user preferences mapping two or more groups of particulartypes of contacts to one of the first communication network or thesecond communication network.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing will be apparent from the following more particulardescription of example embodiments of the invention, as illustrated inthe accompanying drawings in which like reference characters refer tothe same parts throughout the different views. The drawings are notnecessarily to scale, emphasis instead being placed upon illustratingembodiments of the present invention.

FIG. 1 shows a P2P communication system comprising a PC and a wirednetwork connection;

FIG. 2 shows a P2P communication system comprising a PC and a wirelessnetwork connection;

FIG. 3 shows a P2P communication system comprising a dual-mode terminal;

FIG. 4a shows the functional elements of a dual-mode terminal basestation;

FIG. 4b shows the functional elements of a dual-mode terminal wirelesshandset;

FIG. 5 shows the external controls of a dual-mode terminal wirelesshandset;

FIG. 6 shows a user interface when making an outgoing call to anotheruser of the P2P communication service;

FIG. 7 shows a user interface when making an outgoing call to a publicswitched telephone network (PSTN) number;

FIG. 8 shows a user interface when receiving an incoming call fromanother user of the P2P communication service;

FIG. 9 shows a user interface when receiving an incoming call from thePSTN;

FIGS. 10, 10 a, and 10 b show user interface screen flow for thewireless handset startup procedure;

FIGS. 11, 11 a, and 11 b show user interface screen flow for theprocedure to log-in to the wireless handset;

FIGS. 12, 12 a, 12 b, and 12 c show user interface screen flow formaking an outgoing call from the wireless handset;

FIG. 13 shows the user interface screen flow for the procedure forconnecting a call;

FIG. 14 shows screens that are displayed when exceptions to outgoingcalls are raised;

FIGS. 15, 15 a, 15 b, and 15 c show user interface screen flow forincoming calls received at the wireless handset;

FIGS. 16, 16 a, and 16 b show user interface screen flow for selectingand dialing contacts from the contact list;

FIGS. 17, 17 a, and 17 b show user interface screen flow for viewing andutilizing information from the incoming calls history; and

FIGS. 18, 18 a, and 18 b show user interface screen flow for viewing andutilizing information from the outgoing calls history.

DETAILED DESCRIPTION

A description of example embodiments follows.

Reference is first made to FIG. 1, which illustrates a known P2Pcommunication system 100. FIG. 1 illustrates the household 101 of a userof the P2P communication service. The user operates a computer terminal102, such as a PC, upon which is executed client software 104. Alsoconnected to the PC is a handset 106, which comprises a speaker andmicrophone, to enable the user to listen and speak in a voice call inthe same manner as with traditional fixed-line telephony. The handset106 does not necessarily have to be in the form of a traditionaltelephone handset, but can be in the form of a headphone or earphonewith an integrated microphone, or as a separate loudspeaker andmicrophone independently connected to the PC 102.

As mentioned, the computer terminal 102 is running a client 104, whichis provided by the operator of the P2P communication service. The client104 is a software program executed on a local processor in the computerterminal 102. To initiate a call, the user can click on a contact listedfor another user displayed in the client 104, or can alternatively typein a username for the other user. The client 104 then sets up the callto the other user and the call can be made using VoIP. The clientperforms the encoding and decoding of VoIP packets.

The computer terminal 102 is connected to a modem 108, which allows thecomputer terminal to send data to, and receive data from, a network suchas the Internet 110. In the example shown in FIG. 1, the computerterminal is connected to the modem 108 using a wired connection. Thewired connection can be, for example, Ethernet or USB.

VoIP packets from the computer terminal 102 are transmitted into theInternet 110 via the modem 108, and routed to the computer terminal 112of the other user via a modem 114. A client 116 (similar to the client104) running on the computer terminal 112 of the other user decodes theVoIP packets to produce an audio signal that can be heard by the otheruser using the handset 118. Conversely, when the other user talks intohandset 118, the client 116 executed on computer terminal 112 encodesthe audio signals into VoIP packets and transmits them, via the modem114, across the Internet 110 to the computer terminal 102. The client104 executed on computer terminal 102 decodes the VoIP packets from theother user, and produces an audio signal that can be heard by the userof the handset 106.

Alternatively, the user of the computer terminal 102 can make a voicecall to a user of a fixed-line telephone service. In this case, the usertypes in a telephone number of another user connected to the publicswitched telephone network (“PSTN”) into the client 104. The clientencodes the audio signals from the user as VoIP packets and these aretransmitted into the Internet 110 via the modem 108. The VoIP packetsare routed to a gateway 120 connected between the Internet 110 and thePSTN 122, where they are converted into a form suitable for transmissionacross the PSTN 122. The PSTN 122 delivers the converted voiceinformation from the gateway 120 to the fixed-line telephone equipment124 of the other user. Note that the user could also make calls to a 5mobile telephone via a mobile network, instead of the PSTN (notillustrated in FIG. 1).

The above-described system suffers from the previously mentionedproblems that, in order for the user to make or receive phone callsusing the P2P communication service, the computer terminal 102 must bepresent and activated. If the computer terminal 102 is not activated,the user must first switch it on before making a call. Additionally, ifthere is an incoming call, for example from the fixed-line telephone 124or the computer terminal 112, then the computer terminal 102 must bepowered on in order to receive the call. Furthermore, the users are alsoconstrained in their mobility whilst using the P2P communicationservice, due to the wired nature of the connections between the computerterminal 102 and the modem 108, and between the computer terminal 102and the handset 106. In addition, as the P2P communication servicecannot be used for emergency calls, the user must also have aconventional fixed-line telephone 126 in the house 101, with a directconnection to the PSTN 122. The user's fixed-line telephone 126 can beused to call other fixed-line telephones 124 over the PSTN 122, and may,if so enabled by the P2P communication service, be used to callterminals 112 of users of the P2P service.

FIG. 2 shows an alternative known P2P communication system 200. Thesystem 200 is identical to the system 100 shown in FIG. 1, except thatthe computer terminal 102 is connected to the Internet 110 via awireless connection. The computer 25 terminal 102 has a wireless localarea network (“WLAN”) module with an antenna 202, which is able totransmit data wirelessly to a WLAN access point (“AP”) 204. The AP 204is connected a modem 206, which is in tum connected to the Internet 110.The wireless connection can use a WLAN standard such as the IEEE 802.11family of standards (also known as WiFi). The AP 204 and the modem 206can be integrated into a single device which may be referred to as awireless modem or wireless router), as indicated by the dashed box 208.Alternatively, they can be separate devices.

The operation of the system 200 shown in FIG. 2 is the same as thatshown in FIG. 1 and described above, except that the VoIP packets fromthe computer terminal 102 are sent to the modem 206 wirelessly, and,similarly, VoIP packets from other users are received at the computerterminal 102 wirelessly. This provides the user with a limited degree ofmobility, particularly if the computer terminal is a laptop or notebookcomputer. However, the levels of mobility are still much lower than canbe achieved with traditional cordless phones or mobile cellular phones.Furthermore, the fixed-line telephone 126 must also still be present toallow emergency calls to be made.

Reference is now made to FIG. 3, in which is illustrated a P2Pcommunication system 300 comprising a dual-mode terminal according toone or more embodiments. The dual-mode terminal comprises a wirelesshandset 302 in communication with a base station (“BS”) 304, which isable to make VoIP calls across the Internet without the need for acomputer terminal and can also make conventional telephone callsdirectly across the PSTN.

As the wireless handset 302 is small and light enough to be hand-held,and a PC is not required, much greater levels of mobility can beachieved compared to a wireless laptop or notebook computer.

The wireless handset 302 connects to the base station 304 using a shortrange wireless communication protocol. In one or more embodiments, thewireless handset 302 connects to the BS 304 using the digital Europeancordless telecommunications (“DECT”) standard. In alternativeembodiments, the wireless handset 302 connects to the BS 304 using adifferent cordless telephone standard such as personal handyphone system(“PHS”), or using an alternative wireless standard such as Bluetooth,IEEE 802.11 (“Wi Fi”), ultra-wideband (“UWB”) or any other suitablewireless communications protocol.

The BS 304 is connected to the modem 108, which allows the BS 304 tosend and receive data from a network such as the Internet 110, and isalso connected to the PSTN 122 to enable conventional telephone calls tobe made and received. The BS 304 executes dedicated embedded clientsoftware to perform the same function as the client software 104 thatwas running on the computer terminal 102 in FIGS. 1 and 2. Therefore, byrunning embedded client software on the BS 304, VoIP calls can be madeusing the P2P communication service without the computer terminal 102being present. Embedded software means that the software is permanentlyloaded onto the device and cannot be removed by the user. However, it isstill possible for the embedded software to be upgraded or updated bythe user. In addition, only approved versions of the same software canbe upgraded or updated, and the user cannot load any other type ofsoftware onto the device. Note that, in some embodiments, the embeddedsoftware can be upgraded “silently” without the user knowing it ishappening.

In addition, by also providing a direct connection to the PSTN 122, thecalls can be made from the wireless handsets 302, via the BS 304directly to the PSTN 122, thereby allowing emergency calls to be madeand removing the need for a second fixed-line telephone.

Multiple wireless handsets, as indicated by the second wireless handset306, may be in communication with the base station 304, allowing theuser to have more than one handset available for use in the house 101.This provides a further advantage to the user, as the handsets indicatewhich (if any) of the two lines (P2P VoIP service or PSTN) are currentlyin use. If one of these lines are being used by a user of one handset(e.g. handset 302), a second user of a second handset (e.g. handset 306)can use the alternative line for making calls. Therefore, this providesthe advantage that two separate calls can simultaneously be made overtwo lines into the household using multiple wireless handsets, whereas“this is not possible with conventional domestic fixed-line cordlesstelephones.

Reference is now made to FIGS. 4A and 4B, which illustrate the mainfunctional elements of the base station 304 (FIG. 4A) and wirelesshandset 302 (FIG. 4B).

The BS 304 shown in FIG. 4A comprises a microprocessor (“μP”) 402 (alsoknown a central processing unit (“CPU”)), which controls the operationof the BS 304 and executes embedded software. A radio frequency (“RF”)module is also connected to the microprocessor, which implements theparticular radio communication standard used between the wirelesshandset 302 and the BS 304, such as a DECT module 404. The RF signalsare transmitted and received from an antenna 406.

Connected to the microprocessor 402 is a switching module 407. Theswitching module operates under the control of the microprocessor 402 todirect the voice call to either the Internet via the modem 108 (in thecase of a P2P VoIP call) or to the PSTN 122 (in the case of a PSTNcall). Connected to the switching module 407 is an interface forconnecting to the modem 108 (as shown in FIG. 3). In one or moreembodiments, this interface is an Ethernet interface 408 that implementsthe Ethernet communication protocol. In alternative embodiments, otherinterfaces could also be used for communicating with the modem 108, suchas the universal serial bus (“USB”). A PSTN interface 410 is connectedto the microprocessor 402 for connecting the BS 304 to the PSTN 122.This interface allows the BS 304 to connect to the PSTN 122 in the sameway as a conventional fixed-line telephone. The BS 304 and wirelesshandset 302 are still able to operate if either the PSTN or Ethernetinterfaces are disconnected, in which case the alternative line is usedfor making calls.

Also connected to the microprocessor 402 is a memory 412 and an optionalserial interface 414. The memory 412 can include both Flash and RAM. Theserial interface 414 can be used in some embodiments for loading andupdating software on the microprocessor 402. In one or more embodiments,the serial interface 414 is a USB interface. In alternative embodimentsother serial interfaces could also be used, such as 25 the IEEE 1394(Firewire) standard.

The wireless handset 302 shown in FIG. 4B comprises a microprocessor416, which controls the operation of the wireless handset 302 andexecutes embedded software. Connected to the microprocessor 416 is adisplay 418 (such as a liquid crystal display (“LCD”)), a speaker 420, amicrophone 422 and a keyboard 424. The speaker 420 may be connected tothe microprocessor 416 via an interface 426 which comprises audio driverhardware (including for example amplifiers) and a digital to analogueconverter. The functionality of the interface 426 may alternatively beintegrated into microprocessor. The microphone 422 is connected to themicroprocessor 416 via an interface 428 comprising audio receivinghardware (such as amplifiers) and an analogue to digital converter.Again, this functionality may be integrated into the microprocessor 416.The keyboard 424 is connected to the microprocessor 416 via a keyboardencoder interface 430. The display 418 is connected to themicroprocessor via a display driver interface 432. Also connected to themicroprocessor is an RF module, such as a DECT module 434, forcommunicating wirelessly with the base station, and a memory 436, whichcan include both Flash and RAM.

Referring again to FIG. 4A, the microprocessor 402 of the BS 304 isoperating within a small dedicated device, and therefore needs to be ofa lower processing power than the CPU inside a PC. For example, themicroprocessor 402 can typically have a clock speed of 200-400 MHz. Inalternative embodiments, the microprocessor 402 can be complemented by adigital signal processor (“DSP”), which can perform some of the voiceprocessing functions (described below). This allows the microprocessor402 clock speed to be reduced, for example to 50-200 MHz.

The microprocessor 402 executes embedded software to allow the wirelesshandset 302 to be used to make VoIP calls (i.e. without the use of aPC). The microprocessor 402 executes an operating system (“OS”) 438. Inone or more embodiments, the OS 438 is Linux, although other operatingsystems could also be used. The OS 438 allows programs to be run on themicroprocessor 402 and controls low-level operations such as an IP stackand file system support.

Running on the OS 438 of the microprocessor 402 is a connection manager440. The connection manager 440 is the central component of the clientsoftware, and handles connections to the P2P communication network. Thisincludes the placing of calls, managing online status, and anycommunication with other users. The connection manager also handlescalls across the PSTN network.

The connection manager 440 determines whether a call should be routedvia the Internet (as a P2P VoIP call) or via the PSTN (as a PSTN call).This decision may be based on a number of factors. For example, the usercan set preferences as to whether the P2P service or PSTN connection isused to call particular types of contact. Alternatively, the wirelesshandset 302 may prompt the user to select which type of connection is tobe used. In addition, some numbers (such as emergency numbers) can onlybe called using one type of network (e.g. the PSTN) and the connectionmanager detects this and routes the call automatically. The routing ofthe call is performed by the connection manager 440 sending a signalfrom the microprocessor to the switching module, which operates todirect the voice call signals to the appropriate interface for the typeof call required.

Operating under the control of the connection manager 440 is a voiceengine 442. The voice engine 442 incorporates the codec for encoding anddecoding the voice information when making VoIP calls. In one or moreembodiments, the codec is a G.729 codec. This is used as it can be runeasily on a small dedicated device with a lower processing power than aPC. However, in alternative embodiments, any other suitable codec suchas G.711, G.726 and wideband AMR-WB could also be used.

Apart from performing the encoding and decoding of voice information,the voice engine 442 also provides a jitter buffer, echo cancellationfacilities, voice activity detection and comfort noise generation. Thevoice engine further implements the sending and receiving of real-timeprotocol (“RTP”) packet streams, the generation of dual tonemulti-frequency (“DTMF”) tones, and the setting of output amplification(i.e. volume). Note that in some embodiments, there can be some voiceengine functionality in the wireless handset 302, such as local echocancellation.

Therefore, the embedded software in the BS 304 implements the samefunctionality as a VoIP client running on a PC, and allows both P2Pcalls and PSTN calls to be made using the combination of the BS 304 andthe wireless handset 302. Whilst the BS 304 comprises the embeddedsoftware for making P2P and PSTN calls, the wireless handset comprisesembedded software for interacting with the user and communicating withthe BS 304, as described below.

The user of the wireless handset 302 interacts and controls theconnection manager 440 in the BS 304 through a user interface (“UI”)446, which is running on an operating system 448 on the microprocessor416 of the wireless handset 302. The wireless handset 302 also executespower management software 449 that is used to conserve the batteryconsumption of the wireless handset 302, for example by dimming thescreen when the handset is not in use.

The UI 446 is specially adapted for display on the small screen of ahandheld device, and is designed to be operated by a small keyboard (thestructure of which will be described hereinafter). Through the UI 446 ofthe wireless handset 302, the user can use the P2P communication servicewith almost the same level of functionality as if they were using a PC102 and a handset 106, as well as make PSTN calls, as will now bedescribed.

A new user of the P2P communication service can use the wireless handset302 to create an account and login to the P2P communication system. Thisinvolves the user entering information such as their name using thekeyboard of the wireless handset 302, and selecting a username andpassword.

When a user has logged into the P2P communication service they canaccess their contact list on the UI of the wireless handset 302. Thecontact list is created by the user and is a list of people that theuser can readily set up a call with. The contact list may compriseusernames of users of the P2P communication service and regular PSTNphone numbers. A single contact list is maintained both for calls thatare made using the P2P service (via the Ethernet interface 408) and bythe PSTN (via the PSTN interface 410). In the case of contacts of otherusers of the P2P communication service, these contacts have authorizedthe user to view their “presence” information in the contact list. Thepresence information is an indication of the online status of aparticular user of the P2P communication service. For example, the useris able to see if a contact is online, offline, busy or away (otherpresence states are also possible). This information is shown next tothe contact's name in the contact list. Presence information is notavailable for contacts that are not users of the P2P communicationservice. The contact list is stored in the memory 412 of the basestation 304. In alternative embodiments, the contact list can also becached locally on the wireless handset 302 in memory 436.

The user can set up a call to a contact in the contact list by, forexample, simply selecting the appropriate contact using the keyboard(note that a call to a contact can be initiated using other methods,such as from a call history or typing a username) The user can setpreferences as to whether the P2P service or PS TN connection is used tocall particular types of contact. Alternatively, the wireless handset302 may prompt the user to select which type of connection is to beused. Referring again to FIGS. 3 and 4, if a call is made to anotheruser of the P2P communication service, the wireless handset 302 uses theDECT connection with the BS 304, transmitting the request to call theperson listed in the contact list using the P2P service. The connectionmanager 440 in the BS 304 then sets up the call by transmitting datafrom the modem 108, across the Internet 110 to the destination computerterminal 112 running client 116 (via modem 114).

Once the call is established, the voice call can then proceed betweenthe user of the wireless handset 302 and the user of handset 118. Speechsignals from the user of the wireless handset 302 are received at themicrophone 422 of the wireless handset 302 and passed to themicroprocessor 416 via the interface 428. The speech signals are thenprocessed such that they can be transmitted according to the DECTprotocol. These signals are then transmitted to the base station 304using the DECT module 434 of the wireless handset 302, and subsequentlyreceived by the DECT module 406 of the BS 304. The BS 304 decodes theDECT signals to extract the speech signals. The speech signals areencoded by the embedded voice engine 442 as VoIP packets, andtransmitted via the Ethernet interface 408 to the modem 108 andsubsequently across the Internet 110 to the destination computerterminal 112 running client 116 (via modem 114).

Speech signals originating from the destination computer are received asVoIP packets at the Ethernet interface 408 of the BS 304, and decoded bythe voice engine 442. These are then processed by the microprocessor 402for transmission using the DECT protocol, and transmitted by the DECTmodule 404. The DECT signals are received by the DECT module 434 of thewireless handset 302, and decoded by the microprocessor 416 to produceaudio speech signals. The audio speech signals are provided to thespeaker 420 of the wireless handset via the interface 426.

Similarly, an incoming call from another user of the P2P communicationservice may be received at the wireless handset 302. In this case thecall is set up by the client 116 of the computer terminal 112. The callis received at the BS 304, which pages the wireless handset 302 overDECT, and the call is indicated to the user by a ring-tone, thevibration of the device, or a combination of these (depending on userpreferences). The user is also displayed the identity of the caller onthe UI, and, in some cases, a picture if this is available. The use ofthe BS 304 and wireless handset 302 has the advantage that the call canbe received without a PC needing to be present or activated.

The user of the wireless handset can set up a call to a PSTN telephoneuser. A call to a PSTN user can either be made via the P2P communicationservice, or directly though the PSTN. The user can choose whether theP2P service or the PSTN should be used for the call. Alternatively, theuser may set a preference as to which option should be used by default.The wireless handset can also detect certain specific numbers, andalways call these through either the P2P service or the PSTN. Forexample, an emergency number (such as 911, 999 or 112) is detected andalways called using the PSTN.

To call a PSTN number, the user selects a PSTN number in the contactlist (this can be associated with a contact that only has PSTN numbers,or a contact that has both PSTN numbers and a P2P communication serviceusername) Alternatively, the user can type the PSTN number into thekeyboard manually (e.g. if the number is not associated with anycontact).

If the PSTN number is to be called using the P2P service, then thewireless handset 302 sets up a DECT connection with the BS 304,transmitting the request to call the person listed in the contact listusing the P2P service. The connection manager 440 in the BS 304 makesthe call by transmitting data via the modem 206, across the Internet 110to the gateway 120, where the data is are converted into a form suitablefor transmission across the PSTN 122. The PSTN 122 delivers theconverted data from the gateway 120 to the fixed-line telephoneequipment 124 of the other user.

If the PSTN number is to be called directly using the PSTN, then thewireless handset 302 sets up a DECT connection with the BS 304,transmitting the request to call the person listed in the contact listusing the PSTN. The connection manager 440 in the BS 304 establishes thecall across the PSTN to the fixed-line telephone equipment 124 of theother user in a conventional manner.

Note that the user can also make calls to a mobile telephone via amobile network (not illustrated in FIG. 3), instead of the PSTN, in asimilar manner.

The user of the wireless handset 302 can also receive incoming callsfrom the PSTN. These calls can be incoming directly from the PSTNinterface 410 of the BS 304 or from the P2P service via the Ethernetinterface 408. In common with incoming calls from the P2P communicationsystem, the call is received at the BS 304, which pages the wirelesshandset 302 and is indicated to the user by a ring-tone, the vibrationof the device, or a combination of these (depending on userpreferences). If CallerID information is available, then this isdisplayed on the UI. Again, the base station 304 and wireless handset302 has the advantage that the call can be received without a PC needingto be present or activated.

As the P2P communication service operates on peer-to-peer principles,the number of central servers is kept to a minimum. In fact, the P2Pcommunication service can function almost fully without using centralservers. However, the functionality of the service can be improvedthrough the use of some central servers. For example, a central contactserver (308 FIG. 3) can be used to allow synchronization of the contactlist for a user. When an existing P2P communication service user logs inon a new device (such as the wireless handset 302), the contact list forthis user is retrieved from the central contact server 308. Once it hasbeen retrieved from the contact server 308, the contact list is cachedin the memory 412 of the base station 304 (and in some embodiments maybe cached in the memory 436 of the wireless handset 302). Therefore, thecontact list does not need to be retrieved every time the user logs inusing the wireless handset 302. Note that, in reality, more than onecontact server 308 would be present, for redundancy and scalabilityreasons. However, only a single server is shown in FIG. 3 for clarity.

In one or more embodiments, not all information for every contact needsto be stored on the contact server 308. Only usernames, the display nameand the authorization status are required to be stored on the contactserver 308. Other information such as the picture associated with acontact (known as the “avatar”) is obtained from the P2P communicationnetwork. In alternative embodiments, all information could be centrallystored on the contact server.

The use of a central contact server 308 allows the user to log into theP2P communication service from a variety of devices and maintain asingle unified contact list. For example, the user may use a PC at workand a wireless handset 302 at their home, and can get the same contactlist on either of these devices. Furthermore, the user can also go tothe home or workplace of a different user of the P2P communicationservice, and use the wireless handset of the different user to log intothe network. The user will then have access to their own contact list,even though they are not the owner of the device accessing the network.The access to your own contact list on any device is a significantadvantage over traditional PSTN and mobile telephones.

The user of the wireless handset 302 can use the UI and the keyboard ofthe device to search for the contact details of other users of the P2Pcommunication service. The user is presented with a dialog box, in whichthey can enter details about a user they wish to search for (e.g. theirfull name or username). The wireless handset 302 then communicates withthe BS 304 and retrieves this information from the network, and presentsthe results to the user in the UI. In effect, this allows the wirelesshandset 302 to have access to a directory of all the users of the P2Pcommunication service directly from the device. This type offunctionality is not available on PSTN and mobile telephones, andprovides a substantial advantage to the user.

Once contacts have been found using the above-described searchfunctionality, they can be added to the contact list directly from thewireless handset. Similarly, PSTN numbers can also be added to thecontact list directly from the wireless handset. The user is also ableto view profile information for users of the P2P communication servicethat have been found using the search or are in the user's contact list.The profile information contains details about the contact, which insome cases may include the contact's picture, which can be viewed on thewireless handset 302.

Other functionality implemented on the wireless handset 302 includes:call forwarding to another number; support for DTMF tones; access tovoicemail (including leaving and retrieving messages, setting a customgreeting, and reverting back to a standard greeting); a call historydistinguishing between missed, incoming and outgoing calls;participation in conference calls; access to account information; andthe sending and approving of authorization requests for contacts. Callwaiting is also implemented, such that an ongoing call can be placed onhold so that the user can answer another incoming call, and the user canflip back and forth between these calls. This includes the functionalityto hold a call being made using the P2P service and swap to an incomingcall on the PSTN line, and vice versa.

The UI of the wireless handset also provides notification of variousevents to the user. This includes network events such as incoming calls(through notification on the UI as well as ring-tones and vibration, asmentioned previously), notification of missed calls, and notification ofvoicemail messages. In addition, environmental events are handled andnotified to the user, such as low battery alerts and wireless networksignal strength.

All the software on the BS 304 (and in some embodiments the wirelesshandset 302) including the kernel and drivers can be updated via theEthernet interface 408 using a PC and a specific application executed onthe PC. In alternative embodiments, the BS 304 comprises an optional USBserial interface 414, which can be used to upgrade the software on theBS 304 and, in some embodiments, the wireless handset 302. Furthermore,certain aspects of the software may be updated directly over theInternet to the device, without the need to connect to a PC.

Reference is now made to FIG. 5, in which is shown an example of theexternal controls of the wireless handset 302. The front of the wirelesshandset 302 comprises a display 502 (such as an LCD) on which isdisplayed the UI. Below the display is a keyboard 504. In one or moreembodiments, at the top of the device is a power button 506 and at theside of the device are volume up and volume down keys 508.

The keyboard 504 comprises a left soft key (“LSK”) 510 which is used toinvoke various specific actions that are shown in the UI on the display502 directly above the LSK 510. In particular, the LSK 510 is used for“positive” actions such as “Options” and “Select”. A right soft key(“RSK”) 512 is also present that invokes actions shown in the UI on thedisplay 502 directly above the RSK 510. In particular, the RSK 512 isused for “negative” actions such as “Back” and “Clear”.

Between the two soft keys is located a navigation pad 514. Thenavigation pad can be moved up, down, left and right by the user tonavigate through the menu system and move a cursor for text entry. Thecenter of the navigation pad 514 can be depressed by the user to invokea selection. A send key 514 is present which is used to initiate a call.This key is typically colored green. An end key 516 is present that,during an active call, ends the call, and, during an incoming call,rejects the call. This key is typically colored red. The end key 516 isalso used to clear the content of a dialog box, and closes the dialogand returns the user to a main idle screen of the UI with subsequentpresses. Elsewhere in the U I a single press of the end key 516 returnsthe user to the idle screen. If device does not include a power key, thepower menu can be presented on the end key 516. For example, a press ofthe end key 516 for <1.5 seconds would perform the end key actionsdescribed above, a press of 1.5 to 4 seconds displays a power menu, anda press of >4 seconds switches off the device.

An alphanumeric keypad 518 is located at the bottom of the front face ofthe wireless handset. This is of a similar configuration to that foundon a traditional cordless telephone. However, in one or moreembodiments, the labelling of the keypad is adapted to the function ofthe wireless handset. In particular, because the P2P communicationsystem operates largely on names, rather than numbers, the alphanumerickeys are labelled with the letter more prominent than the numbers,whereas with traditional telephones the opposite is true.

The alphanumeric keypad 518 is used for text entry, such as adding orsearching contacts. It is also used for number entry, such as adding anddialing PSTN numbers. In particular, the keys of the keyboard aremultifunctional, such that a single key represents a number of differentcharacters. Different characters associated with a particular key may beaccessed depending on the number of key presses of the key. Some of thekeys may also be used for other features depending on the UI context inwhich they are used. For example, the “1” key can be used to accessvoicemail with a long press, the “0” key can be used to enter a space,the “*” key can be used to change text entry modes, and the “#” key canbe used to enter language symbols.

Reference is now made to FIGS. 6 to 9, in which are illustrated examplesof the user interface as different common operations are performed usingthe wireless handset. Referring first to FIG. 6, this figure shows auser making an outgoing call to another user of the P2P communicationservice, for example between the wireless handset 302 and computerterminal 112 in FIG. 3. The UI screen shown in 602 illustrates the mainidle screen of the wireless handset. This screen shows the wirelessconnection signal strength 604, the level of battery charge 606, theuser's current presence status (indicated by icon 608), the current time610, and the amount of credit on the user's account 612. At the bottomof the display are shown the labels for the soft keys LSK 510 and RSK512. The label 614 shows that if the LSK 510 is selected, the user ispresented with a “Menu” screen. The label 616 shows that if the RSK 512is selected, the user is presented with a “Contacts” screen.

The UI screen shown in 618 illustrates the contacts UI display that theuser is shown when the RSK 512 is selected in screen 602. Screen 618shows a list of contacts that the user has stored on the device (thesemay also have been retrieved from the contact server as describedpreviously). Each of the contacts has a name, and in this example theyare all other users of the P2P communication service, as indicated bythe icon 620 next to the name. The icon 620 indicates the presencestatus of the contact to the user. For example, the icon may indicatethat the contact is online, offline, away, busy (“do not disturb”) orany other suitable status. The LSK 510 takes the user to an “Options”screen (described hereinafter) and the RSK 512 takes the user back tothe main idle screen.

The user can use the navigation pad 514 to scroll though the list ofnames. When the user selects one of the names the wireless handsetinitiates a P2P communication service call to the selected user.

The screen 622 shows the UI display when the call to the selectedcontact is initiated. The screen 622 shows the picture 624 of the personbeing called, their name 626, and the message “Connecting . . . ” 628.The user can end the call at this stage by selecting the RSK 512, or byusing the end key 516. The screen 630 shows the UI display when the callhas been connected, and is ringing at the terminal of the contact. Thisdisplays the same information as screen 622, except the message nowshows “Ringing . . . ” 632.

When the called person picks up and the call is connected, the screenshown in 634 is displayed. This screen shows the same information asscreen 630, except that the message now reads “Call in progress” 636.The screen 634 is only displayed temporarily, typically for a fewseconds, and then the screen 638 is displayed. Screen 638 displays theduration 640 of the ongoing call and the name of the called person 642.The label for the LSK 510 is “Options” 644, and by pressing the LSK 510,the user is presented with options for handling the ongoing call, suchas putting the call on hold or muting the microphone.

The call is ended by pressing the end key 516 or my pressing the RSK512, labelled “End” 646. When the call is ended the screen 648 isdisplayed for a few seconds. This shows the same information as screen638, except that the duration is replaced by the message “Call ended”650. The UI then reverts to the main idle screen 602.

Reference is now made to FIG. 7, in which is shown the UI displays for auser making an outgoing call to a PSTN number, for example between thewireless handset 302 and fixed-line telephone 124 in FIG. 3 (eitherusing the P2P service or directly via the PSTN, depending on userpreferences, as discussed previously). The first two screens 702 and 704are identical to those shown in 602 and 618 in FIG. 6 (and describedabove). However, in screen 704, when the desired contact is selected theLSK 510 with the label “Options” is pressed (rather than depressing thecenter of the navigation pad 514 as was done with FIG. 6). The user isthen displayed screen 708, which shows several options for the selectedcontact. The user can select to call the contact (710), send a voicemailto the contact (712), view the profile of the contact (714), rename thecontact (716), remove the contact from the contact list (718), and blockthe contact from calling the user (720).

In this example, the user selects the option to call the contact (710),and is presented with screen 722. Screen 722 lists the different methodsof communicating with the contact that the user has stored on thedevice. The screen 722 shows that the contact can be called using theP2P communication service (“Skype call” 724), using a mobile telephonenumber 726, using a home PSTN number 728 and using an office PSTN number730. The icons next to the numbers indicate their category (mobile,home, office etc.). Some contacts can, of course, have greater or fewerentries for different ways of contacting the person. In the exampleshown in FIG. 7, the user selects to call the mobile number 726 of thecontact, by depressing the center of the navigation pad 514 or pressingthe LSK 510.

When the call to the selected number is being connected, the user isdisplayed screen 732, which shows the number being called 734 and themessage “Connecting . . . ” 736. When the telephone of the called personis ringing, the user is shown screen 738, which is identical to theprevious screen, except that the message now states “Ringing . . . ”740. When the call is answered, screen 742 is displayed. This screen isidentical to the previous screen, except that the message reads “Call inprogress” 744.

Screen 742 is only displayed for a few seconds, and the user is thendisplayed screen 746. This screen shows the duration of the call 748 andthe name of the contact 750, and is displayed until the call is ended.When the call is ended screen 752 is displayed for a few seconds. Thisshows the same information as screen 746, except that the duration isreplaced by the message “Call ended” 754. The UI then reverts to themain idle screen 702.

Reference is now made to FIG. 8, which illustrates a user receiving anincoming call from another user of the P2P communication service, forexample from computer terminal 112 to the wireless handset 302 in FIG.3. When the incoming call is received at the wireless handset 302, thescreen 802 is displayed (and the device rings/vibrates, as mentionedpreviously). Screen 802 displays the picture of the contact 804, thename of the contact 806 and the message “Calling” 808. The user canreject the incoming call using the end key 516 or the RSK 512, for whichthe label “Reject” 810 is displayed.

If the user accepts the call using the send key 514, the screen 812 isdisplayed. This screen is similar to the previous screen except that themessage now reads “Call in progress” 814. Screen 812 is only displayedfor a few seconds, before screen 816 is displayed. Screen 816 shows thename 818 of the caller and the duration of the incoming call 820. Whenthe call ends, the user is shown screen 822 for a few seconds. Thisscreen is similar to the previous screen, except that the duration isreplaced by the message “Call ended” 824.

Reference is now made to FIG. 9, which illustrates a user receiving anincoming call from the PSTN, for example from fixed-line telephone 124to the wireless handset 302 in FIG. 3. When the incoming call isreceived at the wireless handset 302, the screen 902 is displayed (andthe device rings/vibrates, as mentioned previously). Screen 902 displaysthe telephone number 904 of the personal calling and the message“Calling” 906. The user can reject the incoming call using the end key516 or the RSK 512, for which the label “Reject” 908 is displayed.

If the user accepts the call using the send key 514, the screen 910 isdisplayed. This screen is similar to the previous screen except that themessage now reads “Call in progress” 912. Screen 910 is only displayedfor a few seconds, before screen 914 is displayed, which shows thetelephone number 916 of the caller and the duration of the incoming call918. When the call ends, the user is shown screen 920 for a few seconds.This screen is similar to the previous screen, except that the durationis replaced by the message “Call ended” 922.

Reference is now made to FIGS. 10 to 18, which illustrate in more detailthe UI screen flows. FIG. 10 illustrates the UI screen flow for thewireless handset start-up procedure (i.e. following the powering on ofthe device). FIG. 11 illustrates the detailed UI screen flows for theprocedure to log-in to the wireless handset using the P2P serviceusername and password, or create a new account. FIG. 12 illustrates thedetailed UI screen flows for making an outgoing call from the wirelesshandset. Of note in FIG. 12 is the decision labelled 1202, where thehandset decides the preferred line to use to call a PSTN number: the P2Pservice, the direct PSTN connection, or a selection by the user.

FIG. 13 illustrates the detailed UI screen flows for the procedure forconnecting a call. The procedure for connecting a call to a user of theP2P service is shown in 1302. The procedure for connecting a call to aPSTN number using the P2P service is shown in 1304. The procedure forconnecting a call to a PSTN number using the PSTN line from the BS 304is shown in 1306.

FIG. 14 illustrates screens that are displayed when exceptions tooutgoing calls are raised. 1402 shows an exception raised when anincorrectly formatted PSTN number is entered (e.g. due to an incorrectnumber of digits). 1404 shows an exception raised when an outgoing callis attempted using the PSTN connection, but this is already in use (forexample if another fixed-line telephone is connected and being used).1406 show the case where an emergency number is recognized, and the PSTNconnection is automatically selected.

FIG. 15 illustrates the detailed UI screen flow for incoming callsreceived at the wireless handset and the call waiting options. FIG. 16shows the detailed UI screen flow for selecting and dialing contactsfrom the contact list. FIG. 17 shows the detailed UI screen flow forviewing and utilizing information from the incoming calls history andFIG. 18 shows the detailed UI screen flow for viewing and utilizinginformation from the outgoing calls history.

The above-described dual-mode terminal comprising a base station 304 andwireless handset 302 therefore provides a solution to the problem ofenabling VoIP calls over a P2P communication service, without therequirement to have a PC present and powered on, whilst not requiring afixed-line telephone for emergency calls. The wireless handset 302 alsogives the user mobility within the coverage area of the BS 304. Itshould be noted, however, that in common with traditional cordless PSTNphones the base station needs to be powered in order to operate, andtherefore the cordless phone is inoperative during a power cutsituation. Therefore, the dual-mode terminal is not designed to be usedfor making emergency calls during power failures, and alternativearrangements should be in place for making emergency calls in suchcircumstances.

In addition, the dual-mode terminal provides further advantages overtraditional PSTN and mobile telephones. For example, the user of thewireless handset can search for other users of the P2P communicationservice using the wireless handset, effectively giving them access to afull directory direct from the handset. The user can also log into anduse a wireless handset of a different user and gain access to theirpersonal contact list downloaded from a contact server in the network.Furthermore, multiple wireless handsets can communicate with a single BSat a single premises, and the two P2P and 25 PSTN lines can be used forcalls simultaneously by different handsets.

While this invention has been particularly shown and described withreference to one or more embodiments, it will be understood to thoseskilled in the art that various changes in form and detail may be madewithout departing from the scope of the invention as defined by theappendant claims.

CONCLUSION

Although the invention has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the invention defined in the appended claims is not necessarilylimited to the specific features or acts described. Rather, the specificfeatures and acts are disclosed as example forms of implementing theclaimed invention.

What is claimed is:
 1. A method comprising: receiving, at a clientdevice, a request to initiate a communication session with a selectedcontact using a communication service; selecting, at the client device,one of a first communication network or a second communication networkfor the communication session with the selected contact based on theselected contact and user preferences; and establishing thecommunication session with the selected contact using the selected firstcommunication network or second communication network.
 2. The method ofclaim 1, wherein the user preferences map two or more groups ofparticular types of contacts to one of the first communication networkor the second communication network.
 3. The method of claim 2, whereinthe selecting one of the first communication network or the secondcommunication network further comprises selecting the firstcommunication network or the second communication network based onwhether the selected contact comprises the particular type of contactmapped to the first communication network or the particular type ofcontact mapped to the second communication network.
 4. The method ofclaim 1, wherein the first communication network comprises a packet datanetwork.
 5. The method of claim 1, wherein the second communicationnetwork comprises a public switched telephone network.
 6. The method ofclaim 1, wherein the client device comprises a base station, and whereinthe request is received from a handset that is wirelessly coupled to thebase station.
 7. The method of claim 1, wherein the receiving a requestfurther comprises receiving a selection of the selected contact from acontact list received from one or more server devices of thecommunication service.
 8. A computing device comprising: at least amemory and a processor configured to implement operations comprising:rendering a user interface for selecting contacts to initiatecommunication sessions using a communication service; receiving aselection of a contact via the user interface; and establishing acommunication session with the selected contact over one of a firstcommunication network or a second communication network, the first orsecond communication network selected based on the selected contact anduser preferences.
 9. The computing device of claim 8, wherein the userpreferences map two or more groups of particular types of contacts toone of the first communication network or the second communicationnetwork, and wherein the first communication network or the secondcommunication network is selected based on whether the selected contactcomprises the particular type of contact mapped to the firstcommunication network or the particular type of contact mapped to thesecond communication network.
 10. The computing device of claim 8,wherein the first communication network comprises a packet data network.11. The computing device of claim 8, wherein the second communicationnetwork comprises a public switched telephone network.
 12. The computingdevice of claim 8, wherein the computing device comprises a handset. 13.The computing device of claim 8, wherein the user interface displayscontacts from a contact list.
 14. The computing device of claim 13,wherein the contact list is stored at the computing device.
 15. Thecomputing device of claim 13, wherein the contact list is received froma server device.
 16. A method implemented at one or more server devices,the method comprising: maintaining, at one or more server devices, acontact list for users of a communication service, each contact listcomprising identifiers of contacts and contact information for eachrespective contact, the contact information mapping one or more contactsto both a first communication network and a second communication networkover which communication sessions can be established via thecommunication service; receiving a request, from a client deviceassociated with a user of the communication service, for the respectivecontact list of the user; and communicating the respective contact listof the user to the client device associated with the user, the clientdevice configured to automatically select one of the first communicationnetwork or the second communication network for a communication sessionwith a selected contact based on the selected contact and userpreferences mapping two or more groups of particular types of contactsto one of the first communication network or the second communicationnetwork.
 17. The method of claim 16, wherein the communication serviceenables synchronization of the contact list with multiple devices of theuser.
 18. The method of claim 16, wherein the request is received inresponse to the user logging into the communication service at theclient device for a first time.
 19. The method of claim 16, whereincommunicating the respective contact list causes the respective contactlist to be cached at the client device.
 20. The method of claim 16,wherein the first communication network comprises a packet data network,and wherein the second communication network comprises a public switchedtelephone network.